#version 430 core

layout (location = 0) in vec3 position;
layout (location = 1) in vec3 normal;
layout (location = 3) in vec2 texcoord;

out vec3 positionWS;
out vec3 normalWS;
out vec2 uv;

uniform mat4 vpMatrix;
uniform mat4 mMatrix;

void main()
{
	gl_Position = vpMatrix * mMatrix * vec4(position, 1.0);
	positionWS = (mMatrix * vec4(position, 1.0)).xyz;
	normalWS = normal;
	uv = texcoord;
}